package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import com.xnew.bean.common.SysOrgUserInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 高管信息表
* @DateTime: 2022/5/10
* @Params:
* @Return
*/
@TableName("t10_excutv_prsn_info")
public class ExcutvPrsnInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 高管信息信息编号
    */
    @TableId("excutv_info_id")
    private String excutvInfoId;

    /**
    * 机构用户
    */
    private String orgUserNo;

    /**
    * 学历
    */
    private String eduCode;

    /**
    * 信息审核状态
    */
    private String infsubAuditStatusCode;

    /**
    * 证件类型
    */
    private String vldCertTypeCode;

    /**
    * 其他证件类型
    */
    private String othVldCertTypeCode;

    /**
    * 国籍
    */
    private String nationCode;

    /**
    * 性别
    */
    private String sexCode;

    /**
    * 高管现任职务
    */
    private String excutvCurrDutyName;

    /**
    * 职务排序
    */
    private String hdlerDutyOrderNo;

    /**
    * 高管姓名
    */
    private String excutvName;

    /**
    * 高管曾用名
    */
    private String excutvNmub;

    /**
    * 高管出生年份
    */
    private String excutvBirthYear;

    /**
    * 高管国籍名称
    */
    private String excutvNationName;

    /**
    * 高管执业资格证书号码
    */
    private String excutvQlfyCertifNo;

    /**
    * 中国注册会计师资格证书号码
    */
    private String cicpaQlfcatNo;

    /**
    * 是否具有3年以上资信评级业务经验
    */
    @TableField("is_more_3years_crbexp")
    private String isMore3yearsCrbexp;

    /**
    * 是否通过证券评级业务高级管理人
    */
    private String isPassExcutvQlfyTest;

    /**
    * 证券从业人员证书号码
    */
    private String secPractnrCertifNo;

    /**
    * 任职起始时间
    */
    private String postBeginDate;

    /**
    * 高管移动电话
    */
    private String excutvMob;

    /**
    * 高管证件号码
    */
    private String excutvCertNo;

    /**
    * 高管家庭住址
    */
    private String excutvHomeAddr;

    /**
    * 高管家庭邮编
    */
    private String excutvHomeZipCode;

    /**
    * 高管住宅电话
    */
    private String excutvHouseTel;

    /**
    * 高管电子邮件
    */
    private String excutvEml;

    /**
    * 高管办公地址
    */
    private String excutvOfficeAddr;

    /**
    * 高管办公邮编
    */
    private String excutvOfficeZipCode;

    /**
    * 高管办公电话
    */
    private String excutvOfficeTel;

    /**
    * 高管办公室传真
    */
    private String excutvOfficeFax;

    /**
    * 高管所属部门
    */
    private String excutvDeptName;

    /**
    * 负责的业务范围
    */
    private String respnBusiRange;

    /**
    * 现工作单位
    */
    private String currWorkUnitName;

    /**
    * 任期
    */
    private String tmoffiYears;

    /**
    * 任期结束时间
    */
    private String tmoffiEndTime;

    /**
    * 派出单位
    */
    private String dsptchUnitName;

    /**
    * 是否有高管资格
    */
    private String isHaveExcutvQlfy;

    /**
    * 高管人员资格批准文号
    */
    private String excutvQlfyAprvNmb;

    /**
    * 高管资格证书号码
    */
    private String certNo;

    /**
    * 主要工作经历与历任职务
    */
    private String mainWorkExpeDuty;

    /**
    * 主要学习经历
    */
    private String mainLearnExpe;

    /**
    * 培训情况
    */
    private String trainSituDesc;

    /**
    * 历年奖励信息
    */
    private String calyearAwardInfo;

    /**
    * 备注信息
    */
    private String remark;

    /**
    * 高管信息录入时间
    */
    private String infoInputTime;

    /**
    * 高管信息更新时间
    */
    private String excutvInfoUpdateTime;

    /**
    * 高管信息录入人
    */
    private String infoInputPsnNo;

    /**
    * 高管信息更新人
    */
    private String excutvInfoUpdatePsnNo;

    /**
    * 高管信息证件号码
    */
    private String excutvInfoCertNo;

    /**
    * 高管籍贯
    */
    private String excutvNplc;

    /**
    * 高管执业起始时间
    */
    private String excutvPracBeginDate;

    /**
    * 秘书电话
    */
    private String secreTel;

    /**
    * 是否是关闭状态（1：是 0：否）
    */
    private String isCloseStatus;

    /**
    * 备案时间
    */
    private String filDate;

    @TableField(exist = false)
    private List<AuditLog> auditLogList;

    @TableField(exist = false)
    private List<FileInfo> fileList;

    @TableField(exist = false)
    private SysOrgUserInfo sysOrgUserInfo;

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    public SysOrgUserInfo getSysOrgUserInfo() {
        return sysOrgUserInfo;
    }

    public void setSysOrgUserInfo(SysOrgUserInfo sysOrgUserInfo) {
        this.sysOrgUserInfo = sysOrgUserInfo;
    }

    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public ExcutvPrsnInfo() {
    }

    public String getExcutvInfoId() {
        return excutvInfoId;
    }

    public void setExcutvInfoId(String excutvInfoId) {
        this.excutvInfoId = excutvInfoId;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getEduCode() {
        return eduCode;
    }

    public void setEduCode(String eduCode) {
        this.eduCode = eduCode;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getVldCertTypeCode() {
        return vldCertTypeCode;
    }

    public void setVldCertTypeCode(String vldCertTypeCode) {
        this.vldCertTypeCode = vldCertTypeCode;
    }

    public String getNationCode() {
        return nationCode;
    }

    public void setNationCode(String nationCode) {
        this.nationCode = nationCode;
    }

    public String getSexCode() {
        return sexCode;
    }

    public void setSexCode(String sexCode) {
        this.sexCode = sexCode;
    }

    public String getExcutvCurrDutyName() {
        return excutvCurrDutyName;
    }

    public void setExcutvCurrDutyName(String excutvCurrDutyName) {
        this.excutvCurrDutyName = excutvCurrDutyName;
    }

    public String getHdlerDutyOrderNo() {
        return hdlerDutyOrderNo;
    }

    public void setHdlerDutyOrderNo(String hdlerDutyOrderNo) {
        this.hdlerDutyOrderNo = hdlerDutyOrderNo;
    }

    public String getExcutvName() {
        return excutvName;
    }

    public void setExcutvName(String excutvName) {
        this.excutvName = excutvName;
    }

    public String getExcutvNmub() {
        return excutvNmub;
    }

    public void setExcutvNmub(String excutvNmub) {
        this.excutvNmub = excutvNmub;
    }

    public String getExcutvBirthYear() {
        return excutvBirthYear;
    }

    public void setExcutvBirthYear(String excutvBirthYear) {
        this.excutvBirthYear = excutvBirthYear;
    }

    public String getExcutvNationName() {
        return excutvNationName;
    }

    public void setExcutvNationName(String excutvNationName) {
        this.excutvNationName = excutvNationName;
    }

    public String getExcutvQlfyCertifNo() {
        return excutvQlfyCertifNo;
    }

    public void setExcutvQlfyCertifNo(String excutvQlfyCertifNo) {
        this.excutvQlfyCertifNo = excutvQlfyCertifNo;
    }

    public String getCicpaQlfcatNo() {
        return cicpaQlfcatNo;
    }

    public void setCicpaQlfcatNo(String cicpaQlfcatNo) {
        this.cicpaQlfcatNo = cicpaQlfcatNo;
    }

    public String getIsMore3yearsCrbexp() {
        return isMore3yearsCrbexp;
    }

    public void setIsMore3yearsCrbexp(String isMore3yearsCrbexp) {
        this.isMore3yearsCrbexp = isMore3yearsCrbexp;
    }

    public String getIsPassExcutvQlfyTest() {
        return isPassExcutvQlfyTest;
    }

    public void setIsPassExcutvQlfyTest(String isPassExcutvQlfyTest) {
        this.isPassExcutvQlfyTest = isPassExcutvQlfyTest;
    }

    public String getSecPractnrCertifNo() {
        return secPractnrCertifNo;
    }

    public void setSecPractnrCertifNo(String secPractnrCertifNo) {
        this.secPractnrCertifNo = secPractnrCertifNo;
    }

    public String getPostBeginDate() {
        return postBeginDate;
    }

    public void setPostBeginDate(String postBeginDate) {
        this.postBeginDate = postBeginDate;
    }

    public String getExcutvMob() {
        return excutvMob;
    }

    public void setExcutvMob(String excutvMob) {
        this.excutvMob = excutvMob;
    }

    public String getExcutvCertNo() {
        return excutvCertNo;
    }

    public void setExcutvCertNo(String excutvCertNo) {
        this.excutvCertNo = excutvCertNo;
    }

    public String getExcutvHomeAddr() {
        return excutvHomeAddr;
    }

    public void setExcutvHomeAddr(String excutvHomeAddr) {
        this.excutvHomeAddr = excutvHomeAddr;
    }

    public String getExcutvHomeZipCode() {
        return excutvHomeZipCode;
    }

    public void setExcutvHomeZipCode(String excutvHomeZipCode) {
        this.excutvHomeZipCode = excutvHomeZipCode;
    }

    public String getExcutvHouseTel() {
        return excutvHouseTel;
    }

    public void setExcutvHouseTel(String excutvHouseTel) {
        this.excutvHouseTel = excutvHouseTel;
    }

    public String getExcutvEml() {
        return excutvEml;
    }

    public void setExcutvEml(String excutvEml) {
        this.excutvEml = excutvEml;
    }

    public String getExcutvOfficeAddr() {
        return excutvOfficeAddr;
    }

    public void setExcutvOfficeAddr(String excutvOfficeAddr) {
        this.excutvOfficeAddr = excutvOfficeAddr;
    }

    public String getExcutvOfficeZipCode() {
        return excutvOfficeZipCode;
    }

    public void setExcutvOfficeZipCode(String excutvOfficeZipCode) {
        this.excutvOfficeZipCode = excutvOfficeZipCode;
    }

    public String getExcutvOfficeTel() {
        return excutvOfficeTel;
    }

    public void setExcutvOfficeTel(String excutvOfficeTel) {
        this.excutvOfficeTel = excutvOfficeTel;
    }

    public String getExcutvOfficeFax() {
        return excutvOfficeFax;
    }

    public void setExcutvOfficeFax(String excutvOfficeFax) {
        this.excutvOfficeFax = excutvOfficeFax;
    }

    public String getExcutvDeptName() {
        return excutvDeptName;
    }

    public void setExcutvDeptName(String excutvDeptName) {
        this.excutvDeptName = excutvDeptName;
    }

    public String getRespnBusiRange() {
        return respnBusiRange;
    }

    public void setRespnBusiRange(String respnBusiRange) {
        this.respnBusiRange = respnBusiRange;
    }

    public String getCurrWorkUnitName() {
        return currWorkUnitName;
    }


    public String getOthVldCertTypeCode() {
        return othVldCertTypeCode;
    }

    public void setOthVldCertTypeCode(String othVldCertTypeCode) {
        this.othVldCertTypeCode = othVldCertTypeCode;
    }

    public void setCurrWorkUnitName(String currWorkUnitName) {
        this.currWorkUnitName = currWorkUnitName;
    }

    public String getTmoffiYears() {
        return tmoffiYears;
    }

    public void setTmoffiYears(String tmoffiYears) {
        this.tmoffiYears = tmoffiYears;
    }

    public String getTmoffiEndTime() {
        return tmoffiEndTime;
    }

    public void setTmoffiEndTime(String tmoffiEndTime) {
        this.tmoffiEndTime = tmoffiEndTime;
    }

    public String getDsptchUnitName() {
        return dsptchUnitName;
    }

    public void setDsptchUnitName(String dsptchUnitName) {
        this.dsptchUnitName = dsptchUnitName;
    }

    public String getIsHaveExcutvQlfy() {
        return isHaveExcutvQlfy;
    }

    public void setIsHaveExcutvQlfy(String isHaveExcutvQlfy) {
        this.isHaveExcutvQlfy = isHaveExcutvQlfy;
    }

    public String getExcutvQlfyAprvNmb() {
        return excutvQlfyAprvNmb;
    }

    public void setExcutvQlfyAprvNmb(String excutvQlfyAprvNmb) {
        this.excutvQlfyAprvNmb = excutvQlfyAprvNmb;
    }

    public String getCertNo() {
        return certNo;
    }

    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    public String getMainWorkExpeDuty() {
        return mainWorkExpeDuty;
    }

    public void setMainWorkExpeDuty(String mainWorkExpeDuty) {
        this.mainWorkExpeDuty = mainWorkExpeDuty;
    }

    public String getMainLearnExpe() {
        return mainLearnExpe;
    }

    public void setMainLearnExpe(String mainLearnExpe) {
        this.mainLearnExpe = mainLearnExpe;
    }

    public String getTrainSituDesc() {
        return trainSituDesc;
    }

    public void setTrainSituDesc(String trainSituDesc) {
        this.trainSituDesc = trainSituDesc;
    }

    public String getCalyearAwardInfo() {
        return calyearAwardInfo;
    }

    public void setCalyearAwardInfo(String calyearAwardInfo) {
        this.calyearAwardInfo = calyearAwardInfo;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getExcutvInfoUpdateTime() {
        return excutvInfoUpdateTime;
    }

    public void setExcutvInfoUpdateTime(String excutvInfoUpdateTime) {
        this.excutvInfoUpdateTime = excutvInfoUpdateTime;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getExcutvInfoUpdatePsnNo() {
        return excutvInfoUpdatePsnNo;
    }

    public void setExcutvInfoUpdatePsnNo(String excutvInfoUpdatePsnNo) {
        this.excutvInfoUpdatePsnNo = excutvInfoUpdatePsnNo;
    }

    public String getExcutvInfoCertNo() {
        return excutvInfoCertNo;
    }

    public void setExcutvInfoCertNo(String excutvInfoCertNo) {
        this.excutvInfoCertNo = excutvInfoCertNo;
    }

    public String getExcutvNplc() {
        return excutvNplc;
    }

    public void setExcutvNplc(String excutvNplc) {
        this.excutvNplc = excutvNplc;
    }

    public String getExcutvPracBeginDate() {
        return excutvPracBeginDate;
    }

    public void setExcutvPracBeginDate(String excutvPracBeginDate) {
        this.excutvPracBeginDate = excutvPracBeginDate;
    }

    public String getSecreTel() {
        return secreTel;
    }

    public void setSecreTel(String secreTel) {
        this.secreTel = secreTel;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public String getFilDate() {
        return filDate;
    }

    public void setFilDate(String filDate) {
        this.filDate = filDate;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","nationCode","vldCertTypeCode","eduCode","sexCode","isCloseStatus","isHaveExcutvQlfy","isPassExcutvQlfyTest","isMore3yearsCrbexp","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0023","DG0475","DG0469","DG0072","DG0104","DG0104","DG0104","DG0104","LIST"};
    }
}